package com.cbg.archives.service;

import com.cbg.archives.entity.EsArchives;
import com.cbg.archives.repository.IEsArchivesRepository;
import com.shuyuwl.core.service.IDaoService;

import java.util.List;

/**
 * 档案分类表 service
 *
 * @author wangjuzheng
 * @since 2019-10-16
 */
public interface IEsArchivesService extends IDaoService<EsArchives, Long, IEsArchivesRepository> {

    /**
     * 根据档案分类父级id和状态获取档案分类信息
     *
     * @param archivesPid 父级id
     * @param status      状态
     * @return 档案分类信息
     */
    List<EsArchives> findByPidAndStatus(Long archivesPid, Byte status);

    /**
     * 查询分类详情
     *
     * @param id     分类id
     * @param status 启用状态
     * @return 分类详情
     */
    EsArchives findByIdAndStatus(Long id, Byte status);

    /**
     * 获取所有未删除的档案分类信息
     *
     * @param status 状态
     * @return 档案分类信息
     */
    List<EsArchives> findAllEsArchivesAndStatus(Byte status);

    /**
     * 获取最大的排序号
     *
     * @param pid    父级id
     * @param status 状态
     * @return 排序号
     */
    Integer getMaxSort(Long pid, Byte status);

    /**
     * 查询分类名称是否存在
     *
     * @param categoryPid  分类父级id
     * @param categoryName 分类名称
     * @return 分类名称个数
     */
    List<EsArchives> findByPidAndCategoryName(Long categoryPid, String categoryName);
}
